import java.time.LocalDate;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;


public class test20240812 {
    public static void main(String[] args) {
        /*


需求： 1)定义一个变量，保存你的姓名;
      2)再定义一个变量保存你的性别;
      3)再定义一个变量保存你的生日;
      4)再定义一个变量保存你的年龄;
      5)再定义一个变量保存你的体重；
      最后输出：
      姓名 性别   生日     年龄   体重
      小样  男  1993.8.8  15      50.1
解决:
    姓名，性别用字符串
    生日用 LocalDate类型，用LocalDate.of输入
    年龄用int,体重用浮点型*/
 List<String> list = new ArrayList<>();
        String name = "小样";
        String gender = "男";//1男，22女
        LocalDate birthday = LocalDate.of(1993, 8, 8);
        int age = 15;
        double weight = 50.1;
        System.out.println("姓名:" + name + "   性别:" +
                gender + "   生日:" + birthday + "   年龄:" + age + "   体重:" + weight);
        System.out.println("*************************");
        System.out.println("2");
        /*
         * 需求:交换变量值a,b
         * 想法:引入C中间变量寄存
         * 解决：c=a,a=b,b=c
         *
         * */
        char a = 'A';
        char b = 'B';
        char c = 'C';
        char d = 'D';
        char e;
        e = a;
        a = d;
        d = e;
        e = b;
        b = c;
        c = e;
        System.out.println("a=" + a);
        System.out.println("d=" + d);
        System.out.println("b=" + b);
        System.out.println("c=" + c);
        System.out.println("*************************");
        System.out.println("3");
/*
* 需求：给定一个0～1000的整数，求各位数的和
*想法:除以10倍并模除10可以获得对应的个位数字
* 解决：  int A = 1234;
        int B1 = A / 1000;
        int C1 = A / 100 % 10;
        int D1 = A / 10 % 10;
        int E1 = A % 10;
* */
        int A = 1234;
        int B1 = A / 1000;
        int C1 = A / 100 % 10;
        int D1 = A / 10 % 10;
        int E1 = A % 10;
        System.out.println("1234的各位数的和是" + B1 + C1 + D1 + E1);
        System.out.println("*************************");
        System.out.println("4");
        /*
         *
         * 需求：华氏温度和摄氏温度互相转换
         *想法：四则运算，注意优先级
         *解决：如下
         * */
        int F = 100;//假设华氏温度为100
        int C = 0;
        //华氏度变成摄氏度
        System.out.println("当前华氏温度" + F + "  转换后的摄氏温度是" + (C = (F - 32) * 5 / 9));

        //还原数据
        F = 100;//假设华氏温度为100
        C = 0;
        //摄氏度转成华氏度
        System.out.println("当前摄氏温度" + C + "  转换后的华氏温度是" + (F = C * 9 / 5 + 32));
        System.out.println("*************************");
        System.out.println("5");
        /*
         * 需求：转换为小写字母
         * 想法：大小写字符间Ascll间差32，因此只需要补上对应值
         * 解决：如下
         * */
        char char1 = 'A';//假设现在字符为A，+32就可以实现
        char char2 = (char) (char1 + 32);
        System.out.println(char2);
        System.out.println("*************************");
        System.out.println("6");
        /*
         * 需求：还要找回多少元
         * 想法：四则运算，double类型
         * 解决：如下
         * */
        double remainder = 500 - 58 - 3 * 30 - 5 * 55.8;
        System.out.println("小明的500元还剩" + remainder + "元");
        System.out.println("*************************");
        System.out.println("7");
        /*
         * 需求：计算天数和小时
         * 想法：如果不超过24，则就是当前小时数，如超过则应除以24得到天数，模除24得到剩余小时数
         * 解决：如下
         * */
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入一个整数，代表有n个小时");
        int n = scanner.nextInt();
        int day = 0;
        int hour = 0;
        day = n / 24;
        hour = n % 24;
        System.out.println("n小时有" + day + "天" + hour + "小时");
        System.out.println("*************************");
        System.out.println("8");
        /*
         * 需求：计算这些电视机总价值是多少
         * 想法：四则运算，double类型
         * 解决：如下
         * */
        System.out.println("请输入电视机价格");
        double price = scanner.nextDouble();
        System.out.println("请输入电视机数量");
        int quantity = scanner.nextInt();
        double add = price * quantity;
        System.out.println("总价值" + add);

    }
}
